-
Tags:
No tags
-
Name:
aExpressiveness
-
Displayed name:
Expressivité
-
Description:
Vous cessez de contenir ce que vous éprouvez et le laissez déborder sur ce qui vous entoure. Les créatures proches encaissent la même faiblesse que celle que votre posture vous impose : - **Rage** : malus de Résilience. - **Euphorie** : malus d'Arcane. - **Sérénité** : malus de Réflexe. - **Mélancolie** : malus de Vigueur. Le test à effectuer dépend lui aussi de la posture, et porte sur la caractéristique de test de l'émotion : **Vigueur** en Rage, **Réflexe** en Euphorie, **Résilience** en Sérénité, **Arcane** en Mélancolie. Vous pouvez dépenser des Points de l'émotion que vous tenez pour l'allonger : chaque Point ajoute 5 secondes et 1 mètre de rayon, sans coût de Flux supplémentaire. *Il faut être en posture émotionnelle pour utiliser cette action, et c'est la posture en cours qui détermine la caractéristique touchée.*
-
Cast description:
| PA: vAP.string | TdR: vCD.strings | | :---: | :---: | | **Flux: vFluxOrCost.string ➞ vFluxCost.string** | **Portée: vRange.string** | @if vPosture.value == 0 then [[***Vous devez être en posture émotionnelle pour utiliser cette action.***]] else [[Sur un test de **vTest.string** réussi **MR vMR.string** [1d20] : Vous propagez votre **{({[[Rage]],[[Euphorie]],[[Sérénité]],[[Mélancolie]]})[vPosture.value]}**, ce qui réduit de **vMalus.string** la **{({[[Résilience]],[[Arcane]],[[Réflexe]],[[Vigueur]]})[vPosture.value]}** de toutes les créatures dans un rayon de **{1+vPoints.value}m** autour de vous, pendant **{10+vPoints.value*5} secondes**. *Les créatures affectées annulent tous les effets sur un test de {({[[Vigueur]],[[Réflexe]],[[Résilience]],[[Arcane]]})[vPosture.value]} réussi.*]] end
-
Condition:
assert(vPosture.value > 0, [[Vous n'êtes pas en posture émotionnelle.]]) assert(character.sFlux.current >= vFluxCost.value, [[Vous n'avez pas assez de Flux.]]) assert(vPosture.value ~= 1 or vPoints.value <= character.sRagePoints.current, [[Vous n'avez pas assez de Points de Rage.]]) assert(vPosture.value ~= 2 or vPoints.value <= character.sEuphoriaPoints.current, [[Vous n'avez pas assez de Points d'Euphorie.]]) assert(vPosture.value ~= 3 or vPoints.value <= character.sSerenityPoints.current, [[Vous n'avez pas assez de Points de Sérénité.]]) assert(vPosture.value ~= 4 or vPoints.value <= character.sMelancholyPoints.current, [[Vous n'avez pas assez de Points de Mélancolie.]]) -
AP cost:
4
-
Cooldown:
10
-
Flux cost:
apMod(vAP)*cdMod(vCD)*sphereMod(1)*durMod(10)*effect(vMalus*45,22.5)*autoSave*cancelOnSave -
Variables:
vRange = ListVariable([[vRange]], [[Portée]], {[[selfMod]]}, {[[Soi]]}) postureLabels = {[[Rage]], [[Euphorie]], [[Sérénité]], [[Mélancolie]]} pointStats = {[[sRagePoints]], [[sEuphoriaPoints]], [[sSerenityPoints]], [[sMelancholyPoints]]} postureIndex = 0 if character:has([[mEmotionalPosture]]) then for i, label in pairs(postureLabels) do if string.find(character.mEmotionalPosture.displayName.value, label, 1, true) then postureIndex = i end end end vPosture = StatVariable([[vPosture]], postureIndex) if postureIndex > 0 and character:has(pointStats[postureIndex]) then vPoints = NumberVariable([[vPoints]], [[Points d'émotion]], [[0]], [[character.]] .. pointStats[postureIndex], [[1]]) else vPoints = StatVariable([[vPoints]], 0) end vMalus = NumberVariable([[vMalus]], [[Malus]], [[1]], [[10]], [[1]]) testStats = {[[character.sVigor]], [[character.sReflex]], [[character.sResilience]], [[character.sArcana]]} testLabels = {[[Vigueur]], [[Réflexe]], [[Résilience]], [[Arcane]]} testIndex = postureIndex if testIndex == 0 then testIndex = 1 end vTest = ListVariable([[vTest]], [[Test]], {testStats[testIndex]}, {testLabels[testIndex]}) vMR = StatVariable([[vMR]], [[vTest]]) -
On used script:
character.sFlux:changeCurrent(-vFluxCost.value) if (vPosture.value == 1) then character.sRagePoints:changeCurrent(-vPoints.value) elseif (vPosture.value == 2) then character.sEuphoriaPoints:changeCurrent(-vPoints.value) elseif (vPosture.value == 3) then character.sSerenityPoints:changeCurrent(-vPoints.value) elseif (vPosture.value == 4) then character.sMelancholyPoints:changeCurrent(-vPoints.value) end -
On post script:
if (success) then action.currentCD.value = vCD.value end -
Type:
1
-
Action effects:
-
Use case:
3
-
Name:
Expressivité
-
Description:
-
Script:
effect = character:createEffect([[mExpressiveness]]) effect.displayName:set([[Expressivité : {{({[[Rage]],[[Euphorie]],[[Sérénité]],[[Mélancolie]]})[vPosture.value]}}]]) effect.description:set([[Votre {{({[[Résilience]],[[Arcane]],[[Réflexe]],[[Vigueur]]})[vPosture.value]}} est réduite de {{vMalus.string}}.]]) effect.duration:set({{10+vPoints.value*5}}) effect.script:set([=[character.{{({[[sResilience]],[[sArcana]],[[sReflex]],[[sVigor]]})[vPosture.value]}}:addCurrent({{-vMalus.value}}, [[psychic]], modifier.displayName.value)]=]) effect:activate() -
Variables:
-